package com.atguigu.memonto.theory;

/**
 * @program: design-patterns
 * @author: yangshen
 * @description: 对象，需要保存状态的对象
 * @create: 2022-03-09 18:07
 **/
public class Originator {
    /**
     * 状态信息
     */
    private String state;

    //编写一个方法，可以保存状态对象 Memento
    //因此编写一个方法，返回 Memento
    public Memento saveStateToMemento(){
        //将Originator对象的状态传到 备忘录录对象Memento中
        return new Memento(state);
    }

    //通过备忘录对象，恢复状态（从备忘录对象中把状态拿出来）
    public void getStateFromMemento(Memento memento){
        state = memento.getState();
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }
}
